package 常用方法.字符串修改;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-20
 * Time: 13:03
 */
//那如果想要修改字符串中内容，该如何操作呢？
//注意：尽量避免直接对String类型对象进行修改，因为String类是不能修改的，所有的修改都会创建新对象，效率非常低下。
public class Test {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();//毫秒
        String s = "";
        for(int i = 0; i < 10000; ++i){
            s += i;
        }
        long end = System.currentTimeMillis();
        System.out.println(end - start);//248


        start = System.currentTimeMillis();
        StringBuffer sbf = new StringBuffer("");
        for(int i = 0; i < 10000; ++i){
            sbf.append(i);
        }
        end = System.currentTimeMillis();
        System.out.println(end - start);//1


        start = System.currentTimeMillis();
        StringBuilder sbd = new StringBuilder();
        for(int i = 0; i < 10000; ++i){
            sbd.append(i);
        }
        end = System.currentTimeMillis();
        System.out.println(end - start);//0
    }
    public static void main1(String[] args) {
        String s = "hello";
        s += " world";
        System.out.println(s);//hello world
    }
    //但是这种方式不推荐使用，因为其效率非常低，中间创建了好多临时对象。
}

/*
执行结果：
248
1
0
*/

/*
可以看待在对String类进行修改时，效率是非常慢的，因此：尽量避免对String的直接需要，如果要修改建议尽量
使用StringBuffer或者StringBuilder。

借助StringBuffer 和 StringBuilder
 */